openssh 8.8环境下git无法使用ssh
问题原因
高版本openssh未启用ssh-rsa
解决方案
方案1:修改sshconfig
shell
vim ~/.ssh/config
在对应的Host下添加PubkeyAcceptedKeyTypes参数
properties
PubkeyAcceptedKeyTypes +ssh-rsa
方案2:使用ED25519算法
重新生成公私钥对,算法使用ed25519
shell
ssh-keygen -t ed25519
排查过程
- 安装git和openssh后,在~/.ssh/confi中添加了代码库的host,但是拉取代码始终提示要输入密码;
- 手动执行ssh-add,提示未启动ssh-agent,按照网上的脚本,手动添加了ssh-agent服务;
- 仍然提示需要输入密码,重启后依然无效,使用如下命令进行检查,发现是算法问题;shelldebug信息中的最后几行有如下字样:
ssh -v -T git@代码仓库地址:路径
textsend_pubkey_test: no mutual signature algorithm
- 以“send_pubkey_test: no mutual signature algorithm”为关键字搜索,查到解决方案,并且成功解决。
参考链接
无法将代码推送到gitee仓库故障处理(no mutual signature algorithm)
Start ssh-agent on login [closed]